home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
126-150
/
disk_136
/
iff2pcs
/
source
/
pzdiff.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
1KB
|
59 lines
#include "pz.h"
/* Gets difficulty from the user. */
#define GADWIDTH 40
#define GADHEIGHT 10
#define GADX 100
#define GADY 300
#define NUMGADS 4
struct Gadget pzgad[NUMGADS];
unsigned short gadborderxy[] = {
-1,-1, GADWIDTH,-1, GADWIDTH, GADHEIGHT, -1, GADHEIGHT, -1,-1
};
static struct Border gadborder = {0, 0, 1, 0, JAM1, 5, gadborderxy, NULL};
static struct Gadget samplegad = {
NULL, 0, GADY, GADWIDTH, GADHEIGHT,
GADGHCOMP, RELVERIFY, BOOLGADGET, &gadborder, NULL, NULL, 0L, NULL, 0, NULL};
int GetDifficulty (win)
struct Window *win;
{
int cnt;
struct IntuiMessage *msg;
for (cnt = 0; cnt < NUMGADS; cnt++) {
pzgad[cnt] = samplegad; /* Structure copy */
pzgad[cnt].LeftEdge = GADX + cnt * (GADWIDTH + 10);
if (cnt == NUMGADS) {
pzgad[cnt].GadgetID = DIFF_EASY + cnt;
pzgad[cnt].NextGadget = &pzgad[cnt+1];
}
}
AddGList (win, pzgad, -1, -1, NULL);
RefreshGList (win->FirstGadget, win, NULL, -1);
cnt = -1;
while (true) {
while (msg = GetMsg(win->UserPort)) {
if (msg.Class == GADGETUP)
cnt = ((struct Gadget *)(msg->IAddress)).GadgetID;
ReplyMsg (msg);
if (cnt != -1) {
RemoveGList (win, pzgads, -1);
return (cnt);
}
}
Wait (1L << win->UserPort->mp_SigBit);
}
}